package com.sjs.flow.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * <p>
 * 流程记录表
 * </p>
 *
 * @author uto_dev_008
 * @since 2021-12-14
 */
@ApiModel(value = "FlowProcess对象", description = "流程记录表")
public class FlowProcess extends BaseEntity<FlowProcess> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "UUID")
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty(value = "流程key,业务标识")
    private String processKey;

    @ApiModelProperty(value = "流程名称")
    private String processName;

    @ApiModelProperty(value = "流程id")
    private String processId;

    @ApiModelProperty(value = "描述")
    private String processDesc;

    @ApiModelProperty(value = "0:正常，1：作废")
    private Integer processStatus;

    @ApiModelProperty(value = "类型: 0: 表单流程; 1：业务流程")
    private Integer processType = 1;

    @ApiModelProperty(value = "租户")
    private String tenantId;
    //流程定义xml
    @TableField(exist = false)
    private String bpmnXml;

    //流程定义path
    @TableField(exist = false)
    private String bpmnPath;

    @TableField(exist = false)
    private List<FlowForm> form;


    public String getBpmnPath() {
        return bpmnPath;
    }

    public void setBpmnPath(String bpmnPath) {
        this.bpmnPath = bpmnPath;
    }

    public List<FlowForm> getForm() {
        return form;
    }

    public void setForm(List<FlowForm> form) {
        this.form = form;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getProcessKey() {
        return processKey;
    }

    public void setProcessKey(String processKey) {
        this.processKey = processKey;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public String getProcessDesc() {
        return processDesc;
    }

    public void setProcessDesc(String processDesc) {
        this.processDesc = processDesc;
    }

    public Integer getProcessStatus() {
        return processStatus;
    }

    public void setProcessStatus(Integer processStatus) {
        this.processStatus = processStatus;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public Integer getProcessType() {
        return processType;
    }

    public void setProcessType(Integer processType) {
        this.processType = processType;
    }

    public String getBpmnXml() {
        return bpmnXml;
    }

    public void setBpmnXml(String bpmnXml) {
        this.bpmnXml = bpmnXml;
    }

    @Override
    public String toString() {
        return "FlowProcess{" +
                "id=" + id +
                ", processKey=" + processKey +
                ", processName=" + processName +
                ", processId=" + processId +
                ", processDesc=" + processDesc +
                ", processStatus=" + processStatus +
                ", processType=" + processType +
                ", tenantId=" + tenantId +
                ", createtime=" + createTime +
                ", createId=" + createId +
                ", updateId=" + updateId +
                ", updateTime=" + updateTime +
                "}";
    }
}
